﻿//using System;
//using Wizard.Runtime;

//namespace Wizard.Functions
//{
//    public class ToDouble : Function<double>
//    {
//        protected readonly IHasValue<IConvertible> mParam1;

//        public ToDouble(IHasValue param1)
//            : base("ToDouble", FunctionType.function)
//        {
//            if (Utils.IsConvertible(param1))
//            {
//                mParam1 = (IHasValue<IConvertible>) param1;
//            }
//            else throw new Exception("OpToDouble only accepts IConvertible values.");
//        }

//        protected override double RecalcValue(IRunContext context)
//        {
//            var value = mParam1.Value(context);
//            return (value == null ? double.NaN : value.ToDouble(null));
//        }
//    }
//}